Processes typically tend to run at different speeds on different machines due to the differences in performance between varying computer platforms and configurations. Often, a program that is running too fast may be as useless as a program that is running too slowly, especially when the process displays information that is continually updated and must be interpreted by a user, for example the real-time display of data. Thus, there lies a need for a method and system that allows a program to optimize its speed accordingly so that performance is normalized across multiple computer platforms.
The present invention is directed to a method and system that allows a process to appear to be running at a normalized speed independent of the computer platform, configuration, and processor or bus speed. A hidden process gathers and processes data in a manner that is normally not visible to the user. A visual process displays the results of the hidden process in a way that is visible or detectable by a user. An optimal rate for which the visible process is desired to be updated is determined. The hidden process is executed a predetermined number of times, and the visible process is executed once to complete a cycle. The time required to complete the cycle is determined, and an updated value for the number of times to execute the hidden process is calculated. The hidden process is executed a number of times equal to the updated value in a subsequent cycle. The method continues so that the visual process is executed at a normalized interval based upon the number of times that the hidden process executes per refresh, which in turn is a function of the platform speed.